scaler: Use new snapshot transforms
authorBenjamin Otte <otte@redhat.com>
Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 21 Feb 2019 18:47:28 +0000 (19:47 +0100)
gtk/gtkscaler.c

index 266e4dc74a19809223f9624c6cc41484988cf9c7..3824635bf2b49853676a36adb465ac7ee8644be5 100644 (file)
@@ -44,22 +44,16 @@ gtk_scaler_paintable_snapshot (GdkPaintable *paintable,
 {
   GtkScaler *self = GTK_SCALER (paintable);
 
-  if (self->scale_factor == 1.0)
-    {
-      gdk_paintable_snapshot (self->paintable, snapshot, width, height);
-    }
-  else
-    {
-      graphene_matrix_t scale_matrix;
-
-      graphene_matrix_init_scale (&scale_matrix, 1.0 / self->scale_factor, 1.0 / self->scale_factor, 1.0);
-      gtk_snapshot_push_transform (snapshot, &scale_matrix);
-      gdk_paintable_snapshot (self->paintable,
-                              snapshot,
-                              width * self->scale_factor,
-                              height * self->scale_factor);
-      gtk_snapshot_pop (snapshot);
-    }
+  gtk_snapshot_save (snapshot);
+
+  gtk_snapshot_scale (snapshot, 1.0 / self->scale_factor, 1.0 / self->scale_factor);
+
+  gdk_paintable_snapshot (self->paintable,
+                          snapshot,
+                          width * self->scale_factor,
+                          height * self->scale_factor);
+
+  gtk_snapshot_restore (snapshot);
 }
 
 static GdkPaintable *